From d9b71702dc004310d152d22b46232d02228502d4 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 12 Dec 2011 10:25:27 +0100 Subject: [PATCH] a11y: Add _gtk_tree_view_accessible_add_state() ... and _gtk_tree_view_accessible_remove_state(). They should be called by gtktreeview.c to notify about changes of state for a row. --- gtk/a11y/gtktreeviewaccessible.c | 58 ++++++++++++++++++++++++++++++++ gtk/a11y/gtktreeviewaccessible.h | 9 +++++ 2 files changed, 67 insertions(+) diff --git a/gtk/a11y/gtktreeviewaccessible.c b/gtk/a11y/gtktreeviewaccessible.c index f959392ecd..77c3114b5f 100644 --- a/gtk/a11y/gtktreeviewaccessible.c +++ b/gtk/a11y/gtktreeviewaccessible.c @@ -3084,3 +3084,61 @@ _gtk_tree_view_accessible_toggle_visibility (GtkTreeView *treeview, column, id); } + +void +_gtk_tree_view_accessible_add_state (GtkTreeView *treeview, + GtkRBTree *tree, + GtkRBNode *node, + GtkCellRendererState state) +{ + GtkTreeViewAccessible *accessible; + AtkObject *obj; + guint i; + + obj = _gtk_widget_peek_accessible (GTK_WIDGET (treeview)); + if (obj == NULL) + return; + + accessible = GTK_TREE_VIEW_ACCESSIBLE (obj); + + for (i = 0; i < gtk_tree_view_get_n_columns (treeview); i++) + { + GtkCellAccessible *cell = peek_cell (accessible, + tree, node, + gtk_tree_view_get_column (treeview, i)); + + if (cell == NULL) + continue; + + _gtk_cell_accessible_state_changed (cell, state, 0); + } +} + +void +_gtk_tree_view_accessible_remove_state (GtkTreeView *treeview, + GtkRBTree *tree, + GtkRBNode *node, + GtkCellRendererState state) +{ + GtkTreeViewAccessible *accessible; + AtkObject *obj; + guint i; + + obj = _gtk_widget_peek_accessible (GTK_WIDGET (treeview)); + if (obj == NULL) + return; + + accessible = GTK_TREE_VIEW_ACCESSIBLE (obj); + + for (i = 0; i < gtk_tree_view_get_n_columns (treeview); i++) + { + GtkCellAccessible *cell = peek_cell (accessible, + tree, node, + gtk_tree_view_get_column (treeview, i)); + + if (cell == NULL) + continue; + + _gtk_cell_accessible_state_changed (cell, 0, state); + } +} diff --git a/gtk/a11y/gtktreeviewaccessible.h b/gtk/a11y/gtktreeviewaccessible.h index 0246ba9975..27d97434f0 100644 --- a/gtk/a11y/gtktreeviewaccessible.h +++ b/gtk/a11y/gtktreeviewaccessible.h @@ -72,6 +72,15 @@ void _gtk_tree_view_accessible_toggle_visibility (GtkTreeView *treeview, GtkTreeViewColumn *column); +void _gtk_tree_view_accessible_add_state (GtkTreeView *treeview, + GtkRBTree *tree, + GtkRBNode *node, + GtkCellRendererState state); +void _gtk_tree_view_accessible_remove_state (GtkTreeView *treeview, + GtkRBTree *tree, + GtkRBNode *node, + GtkCellRendererState state); + G_END_DECLS #endif /* __GTK_TREE_VIEW_ACCESSIBLE_H__ */ -- 2.30.2